package cn.zzdt4j.common.model.register;

import cn.zzdt4j.common.model.register.notify.DynamicThreadPoolRegisterCoreNotifyParameter;
import cn.zzdt4j.common.model.register.notify.DynamicThreadPoolRegisterServerNotifyParameter;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * Dynamic ThreadPool Register Wrapper
 *
 * @author by <a href="mailto:ligang941012@gmail.com">gang.Li</a>
 * @since 2024/5/14 0:47
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class DynamicThreadPoolRegisterWrapper {

    // zzdt4j common ----------------------------------------------------------------------

    /**
     * Dynamic thread-pool register parameter
     */
    private DynamicThreadPoolRegisterParameter parameter;

    // zzdt4j server ----------------------------------------------------------------------

    private String tenantId;

    private String itemId;

    private Boolean updateIfExists = Boolean.FALSE;

    private Boolean notifyUpdateIfExists = Boolean.FALSE;

    /**
     * Dynamic thread-pool server notify parameter
     */
    private DynamicThreadPoolRegisterServerNotifyParameter serverNotify;

    // zzdt4j core ----------------------------------------------------------------------

    /**
     * Dynamic thread-pool config notify parameter
     */
    private DynamicThreadPoolRegisterCoreNotifyParameter configNotify;
}
